草庐IT

TypeScript 变量声明

全部标签

javascript - 如何在 TypeScript 中使用类类型作为映射键?

我想在反射(reflect)类类型的键下的TypeScript(JavaScript)映射中存储一些信息。这是因为存储的数据实际上是静态的并且适用于每个类型,而不是每个实例。这是我声明Mapatm的方式:privatestaticfollowSetsByATN:Map=newMap();但是,number应该是类类型。如何实现? 最佳答案 如果您有一个对象({})作为映射,则键必须是字符串(或自动转换为字符串的数字)。在这种情况下,您可以使用toString()方法:classA{}console.log(A.toString())

javascript - VS Code 能否在文件重命名/移动时自动更新 JavaScript 和 TypeScript 导入路径?

是否有用于vscode的模块可以更新文件路径?例如如果我有:import'./someDir/somelib'然后我重命名或移动somelib,它会自动更新所有被引用的文件中的文件路径吗? 最佳答案 此功能是在VSCode1.24(trackingissue)中为JavaScript和TypeScript添加的当您移动或重命名文件时,系统现在会提示您查看是否要更新导入:这由javascript.updateImportsOnFileMove.enabled和typescript.updateImportsOnFileMove.ena

javascript - typescript 无法导入没有扩展名的文件

我正在尝试在我的新Angular2项目中导入文件。入口文件“main.ts”能够使用以下方式导入其他typescript文件:import{AppModule}from'./module/app.module';另一方面,“app.module.ts”无法导入没有文件扩展名的ts文件:import{AppComponent}from'../component/app.component';如果我在文件名中添加“.ts”,一切都会按预期进行...我的错误是什么?我假设我正在按照Angular指南(https://angular.io/docs/ts/latest/guide/webpac

javascript - 通过将它们的方法包装在一起,Typescript 类对象的性能是否会变慢?

我可能是错的,但通过查看typescriptsplayground,我注意到他们将类的方法与对象变量包装在一起,感觉每次我调用新对象时它可能会降低性能。例如类的TypescriptPlayground输出varFatObject=(function(){functionFatObject(thing){this.objectProperty='string';this.anotherProp=thing;}FatObject.prototype.someMassivMethod=function(){//manylinesofcode//...//...//...//.........

javascript - 将 Vue.js 与 Typescript 一起使用时如何使用 vue-resource 等插件?

我开始使用Typescript并尝试将其应用到我的项目中。但是,我无法使用vue-resource等Vue.js插件。当我使用this.$http.post()我得到错误:errorTS2339:Property'$http'doesnotexistontype'typeofVue'.这是有道理的,因为我在类里面。但是我该怎么做呢?这是我的完整组件:SignupNamePleaseprovideaname.PasswordPleaseprovideapassword.importComponentfrom'vue-class-component'@Componentexportdefa

javascript - 使用 let 变量而不是使用全局变量

我听说在JavaScript中使用全局变量是不好的。由于let是block作用域的,我可以在包含所有其他函数的block中使用它并以与全局变量类似的方式使用它吗?{varb=10;letc=20;functionfoo(){returnc;}} 最佳答案 是的,您可以,但需要注意(见下文)。在您的示例中,b是全局的,但c不是。请注意,该代码中的foo是松散模式下的全局变量,因此如果您要这样做,请在顶部使用"usestrict";你的代码。另请注意,并非所有浏览器都正确支持let、block中的函数声明等的ES2015语义。要支持尚不

javascript - 如何使用 TypeScript 将拖动事件处理程序附加到 React 组件

我正在使用TypeScript(2.4.2)首次涉足React(15.6.1),我正在尝试创建一个组件来表示可拖动的JSON字段。这是我的组件代码:import*asReactfrom"react";interfaceJsonFieldProps{name:string;type:string;indent:number;}exportclassJsonFieldextendsReact.Component{marginStyle={'text-indent':`${this.props.indent*15}px`};render(){return{this.props.name}:{

javascript - 如何访问 promise `.then` 方法之外的变量?

我正在开发Spotify应用程序。我能够登录并获取我的token。我的问题是我无法访问方法外的变量。在这种情况下"getCurrentUser"这是我的方法:functiongetUser(){if($localStorage.token==undefined){throwalert("Notloggedin");}else{Spotify.getCurrentUser().then(function(data){varnames=JSON.stringify(data.data.display_name);console.log(names)})}};如您所见,我在console.l

javascript - 如何将变量导出到单独的文件? react native

在我的项目中,我有包含全局样式的主文件,但我也在单个组件中使用样式。尽管如此,我还是使用相同的变量将字体大小、颜色传递给元素。我不是React专家,但我认为将变量移动到单独的文件以避免重复代码会很好。我怎样才能以正确的方式做到这一点?全局样式:'usestrict';letReact=require('react-native');let{StyleSheet,}=React;letINIT_COLOR="#fff";letINIT_FONT_SIZE=16;module.exports=StyleSheet.create({container:{backgroundColor:INI

javascript - typescript 和 react-native 的 ForwardRef 错误

使用forwardRef时出现ts错误//[ts]Property'forwardRef'doesnotexistontype'typeofReact'.constMyComponent=React.forwardRef((props:Props,ref:any)=>...在ReactNative中,父组件抛出此错误:InvariantViolation:Elementtypeisinvalid:expectedastring(forbuild-incomponents)oraclass/function(forcompositecomponents)butgot:object有什么解